program task_59e;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this };

var
  x, y: real;
  result: boolean;
begin
  writeln('task 59e');
  write('enter x:');
  readln(x);
  write('enter y:');
  readln(y);

  // по-умолчанию результат false. если мы найдем хоть одно удовлетворяющее условие,
  // то результат станет true, т.е. точка находится в заданной области
  result := false;

  if x > 0 then
  begin
    // для x > 0 область ограничена полукругом
    if sqr(x) + sqr(y) <= 1 then
       result := true;
  end
  else
  begin
    if y >= 0 then
    begin
      // формула прямой выше оси абсцисс: -x + 2y -2 = 0
      // откуда y = 0.5x + 1;
      if y <= 0.5x + 1
          then result := true;
    end
    else
    begin
      // формула прямой выше оси абсцисс: x + 2y +2 = 0
      // откуда y = -0.5x - 1;
      if y >= -0.5x - 1
          then result := true;
    end;
  end;

  if result = true
  then
     writeln('point is inside area')
  else
     writeln('point is outside area');
  readln;
end.

